package entidades;

import java.io.Serializable;
import javax.persistence.*;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;


/**
 * The persistent class for the transaccion database table.
 * 
 */
@Entity
@Table(name="transaccion")
public class Transaccion implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private String id;

    @Temporal( TemporalType.TIMESTAMP)
	private Date fechahora;

	private double monto;

	private BigInteger origen;

	//bi-directional many-to-one association to Ocupacionfuncion
    @ManyToOne
	@JoinColumn(name="puestofuncion")
	private Ocupacionfuncion ocupacionfuncion;

	//bi-directional many-to-one association to Tipopago
    @ManyToOne
	@JoinColumn(name="tipoPago")
	private Tipopago tipopago;

	//bi-directional many-to-many association to Tarjeta
	@ManyToMany(mappedBy="transaccions", fetch=FetchType.EAGER)
	private List<Tarjeta> tarjetas;

    public Transaccion() {
    }

	public String getId() {
		return this.id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public Date getFechahora() {
		return this.fechahora;
	}

	public void setFechahora(Date fechahora) {
		this.fechahora = fechahora;
	}

	public double getMonto() {
		return this.monto;
	}

	public void setMonto(double monto) {
		this.monto = monto;
	}

	public BigInteger getOrigen() {
		return this.origen;
	}

	public void setOrigen(BigInteger origen) {
		this.origen = origen;
	}

	public Ocupacionfuncion getOcupacionfuncion() {
		return this.ocupacionfuncion;
	}

	public void setOcupacionfuncion(Ocupacionfuncion ocupacionfuncion) {
		this.ocupacionfuncion = ocupacionfuncion;
	}
	
	public Tipopago getTipopago() {
		return this.tipopago;
	}

	public void setTipopago(Tipopago tipopago) {
		this.tipopago = tipopago;
	}
	
	public List<Tarjeta> getTarjetas() {
		return this.tarjetas;
	}

	public void setTarjetas(List<Tarjeta> tarjetas) {
		this.tarjetas = tarjetas;
	}
	
}